前提:已经使用 npm 预装好了 Hexo 所需的各种依赖包。
查阅 文档 以获取更多信息。如果在使用Hexo时遇到任何问题,您可以在 troubleshooting 中找到答案,或者您可以在 GitHub 上询问。
一、 流程
1. 全局安装 hexo 命令库
1 | npm install hexo-cli -g |
2. 创建一个博客项目(一般只在首次创建,后续操作从第三步开始即可)
1 | hexo init blog |
3. 进入博客项目
1 | cd blog |
4. 新建&编辑文章
命令行中输入以下指令以创建新文章:
1 | hexo new "new article" |
详细信息: Writing
执行后在 source/_posts 中生成了一个 new-article.md 文件
文件中的初始内容为:1
2
3
4
5
title: new article
date: 2014-11-01 20:10:33
tags:
使用三个 “-” 字符包裹着页面的属性,采用 yaml 格式书写
接着是正文,采用 markdown 格式书写
注意:如果使用了第三方服务,如 algolia 搜索服务,在新建了页面后,记得在根目录执行
1 hexo algolia/a
以更新搜索内容
5. 生成静态文件
1 | hexo generate/g |
详细信息: Generating
6. 本地服务预览
命令行中输入以下指令启动本地服务器1
hexo server/s
详细信息: Server
然后在浏览器窗口打开 localhost:4000
注意:在新建、删除或修改文章之后,不需要重新启动服务器,只需刷新一下页面就能预览新的改动
7. 发布到服务器上
命令行中输入以下指令
1 | hexo deploy/d |
详细信息: Deployment
前提:必须在站点配置文件 _config.yml 中做以下配置:
1
2
3
4 deploy:
type: git
repository: git@github.com:用户名/仓库名.git
branch: master
这里只会把根目录中的 public 整个文件夹发布到服务器,因为这里面才是所有工作的产出物——我们的博客静态文件。我们之前所有操作都是在为这个产出做准备工作。
二、 属性
文章可以拥有如下属性:
Setting | Description | Default |
---|---|---|
layout | Layout | post或page |
title | 文章的标题 | |
date | 文章的创建日期 | 文章的创建日期 |
updated | 文章的更新日期 | 文章的更新日期 |
comments | 是否开启评论 | true |
tags | 标签 | |
categories | 分类 | |
permalink | url中的名字 | 文件名 |
三、 分类和标签的写法
在正文之前的配置项中配置相应的文本即可
1 | categories: |
四、 首页摘要
同 wordpress 一样,在正文中 之上的内容显示为摘要。
五、 layout
如果你修改了 layout,在 scaffolds 文件夹里一定要有名字对应的模版文件,否则会采用默认模版。
六、 文件名
在配置文件中的 new_post_name 项可以设置文件名,默认为 :title,也就是你在命令行输入的名字。
文件名可以为下面几个变量和字符串常量的任意组合:
Variable | Description |
---|---|
:title | Escaped title (lower case and replace spaces with dash) |
:year | Created year (4-digit) |
:month | Created month (2-digit) |
:i_month | Created month (Without leading zeros) |
:day | Created day (2-digit) |
:i_day | Created day (Without leading zeros) |
七、 草稿
草稿相当于很多博客都有的 “私密文章” 功能。1
hexo new draft "new draft"
会在 source/_drafts 目录下生成一个 new-draft.md 文件。但是这个文件不被显示在页面上,链接也访问不到。也就是说如果你想把某一篇文章移除显示,又不舍得删除,可以把它移动到 _drafts 目录之中。
如果你希望强行预览草稿,更改配置文件:1
render_drafts: true
或者,如下方式启动server:1
hexo server --drafts
下面这条命令可以把草稿变成文章,或者页面:1
hexo publish [layout] <filename>